package com.ktgj.customer.service;

import com.ktgj.customer.domain.CommonReimbursements;
import com.ktgj.customer.domain.dto.CalculationRemotelyDTO;
import com.ktgj.pay.api.domain.UnionPayQRCodeResponseApi;
import jdk.nashorn.internal.runtime.regexp.joni.constants.StringType;

import javax.servlet.http.HttpServletRequest;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface ICardCRMPurchaseService {
    Map<String, Object> queryPurchaseCardData();

    CalculationRemotelyDTO calculationRemotely(Long cardId, String years, Long creditsNum, BigDecimal usedDeposit, Long couponId);

    String buyCardOrder(Long customerId, Long cardId, Long creditsNum, Long couponId, BigDecimal usedMoney, BigDecimal couponMoney, String years, Long customerId1, Long employeeId, Long deptId, CommonReimbursements commonReimbursements, String type, List<Integer> product) throws Exception;

    /**
     * CRM购卡银联二维码支付
     * */
    public UnionPayQRCodeResponseApi cardCRMPurchaseGetQRCode(String orderNum, HttpServletRequest request, BigDecimal amount, String type) throws Exception;

    /**
     * CRM购卡电话语音支付
     * */
    public String cardCRMPurchaseVoicePay(String orderNum, String cardNumber, HttpServletRequest request, BigDecimal amount, String type) throws Exception;

    /**
     * CRM购卡无卡无密支付
     * */
    public String cardCRMPurchaseBankCard(String orderNum, Long bankCardId, HttpServletRequest request, BigDecimal amount, String type) throws Exception;
}
